- // MIR for `main` before InstrumentCoverage
+ // MIR for `main` after InstrumentCoverage
  
  fn main() -> () {
      let mut _0: ();
      let mut _1: ();
      let mut _2: bool;
      let mut _3: !;
  
+     coverage ExpressionId(0) => Expression { lhs: Counter(0), op: Add, rhs: Counter(1) };
+     coverage ExpressionId(1) => Expression { lhs: Expression(0), op: Subtract, rhs: Counter(1) };
+     coverage Code(Counter(0)) => /the/src/instrument_coverage.rs:12:1 - 12:11;
+     coverage Code(Expression(0)) => /the/src/instrument_coverage.rs:13:5 - 14:17;
+     coverage Code(Expression(1)) => /the/src/instrument_coverage.rs:15:13 - 15:18;
+     coverage Code(Counter(1)) => /the/src/instrument_coverage.rs:16:10 - 16:11;
+     coverage Code(Expression(1)) => /the/src/instrument_coverage.rs:18:1 - 18:2;
+ 
      bb0: {
+         Coverage::CounterIncrement(0);
          goto -> bb1;
      }
  
      bb1: {
+         Coverage::ExpressionUsed(0);
          falseUnwind -> [real: bb2, unwind: bb6];
      }
  
      bb2: {
          StorageLive(_2);
          _2 = bar() -> [return: bb3, unwind: bb6];
      }
  
      bb3: {
          switchInt(move _2) -> [0: bb5, otherwise: bb4];
      }
  
      bb4: {
+         Coverage::ExpressionUsed(1);
          _0 = const ();
          StorageDead(_2);
          return;
      }
  
      bb5: {
+         Coverage::CounterIncrement(1);
          _1 = const ();
          StorageDead(_2);
          goto -> bb1;
      }
  
      bb6 (cleanup): {
          resume;
      }
  }
  
